#函数
"""
def my_(data):
    count=0
    for i in data:
        count+=1
        print(f"字符串{data}的长度为{count}")
str1="ghaghii"
str2="igh"
str3="hgbdfhjkd"
my_(str1)
my_(str2)
my_(str3)
#演示函数相关的语法
#定义一个函数，输出相关的信息
def world():
    print("helloworld")
world()#调用函数，让他开始操作
def chang():#定义一个函数

    print("欢迎来到长春")#输出函数体信息
chang()#调用函数
#定义两数相加的函数，通过参数接收被计算的多个数字
def add(x,y,z):
    result=x+y+z
    print(f"{x}+{y}+{z}的结果是{result}")
#调用函数，传入被计算的两个数字
add(1,2,3)
#升级版的自动查核酸
def add(x):#定义函数，接受一个参数，数字类型，表示体温

    if x<=37.5:#函数体内进行判断体温
        print(f"体温测量中，您的体温是：{x}度，体温正常请进")
    else:
        print(f"体温测量中，您的体温是：{x}度，需要隔离")
add(30)#调用函数



#定义一个函数，完成两数相加的功能
def add(x,y):
    result=x+y#函数体
    return result#通过返回值，将返回值赋给变量
#函数的返回值通过变量去接受
r=add(5,6)
print(r)



#演示字面量None
def say_hai():
    print("nihao")
result=say_hai()#调用函数
print(f"无返回值内容，返回的是{result}")#打印内容
print(f"无返回值内容，返回的内容类型是{type(result)}")#打印内容
#主动返回None的函数
def say_hai():
    print("nihao")
    return None
result=say_hai()#调用函数
print(f"无返回值内容，返回的是{result}")#打印内容
print(f"无返回值内容，返回的内容类型是{type(result)}")#打印内容
#None也可用于判断
def year(x):
    if x>=18:
        return "SUCCESS"

    else:
        return None

result=year(15)
if not result:
    print("ninweichengnian")
#定义函数，进行文档说明
def add(x,y):
    #
    # # :param x:
    # # :param y:
    # # :return:#为函数的注释说明，这是一个说明文档
    #
    result=x+y
    print(f"两数相加的结果是{result}")
    return result
z=add(7,8)
#定义函数fun_b
def fun_b():
    print("gh")
#定义函数fun_a,并在函数fun_a中调用函数fun_b
def fun_a():
    print("ghhi")
    fun_b()
    print("ghghhg")
#调用函数fun_a
fun_a()
#局部变量和全局变量
#演示局部变量
def test():
    num=5
    print(num)
test()
#print(num)#num为局部变量，调用不了
#演示全局变量
#代码全局都可以使用，在函数的外部去定义
num=200
def test_a():
    print(num)
def test_b():
    global num
    num=500
    print(num)
test_a()
test_b()
print(num)
#在函数内修改全局变量

#global关键字，在函数内声明变量为全局变量
num=200
def test_a():
    print(num)
def test_b():
    global num#通过global设置num为全局变量
    num=500
    print(num)
test_a()
test_b()
print(num)"""
#ATM机
money=5000000#定义一个变量用来记录银行卡余额
name=input("请输入您的名字:")#定义变量用来记录客户的姓名
def query(show_header):#查询函数
    if show_header:
        print("-----查询余额-----")
    print(f"{name},您好，您的余额剩余：{money}")

def save(num):#存款函数
    global money#money在函数内部定义为全局变量
    money+=num
    print("-----存款-----")

    print(f"{name}，您好，您存款{num}元成功")
    #调用query函数查询余额
    query(False)

def take(num):
    global money
    money-=num
    print("-----取款-----")
    print(f"{name}，您好，您取款{num}元成功")

    #调用query函数查询余额
    query(False)
#定义主函数菜单
def main():
    print("-----主菜单-----")
    print(f"{name}您好，欢迎来到黑马银行ATM，请选择操作")
    print("查询余额\t[输入1]")
    print("存款\t\t[输入2]")#对齐输出
    print("取款\t\t[输入3]")
    print("退出\t\t[输入4]")
    return input("请输入您的选择：")

#设置无限循环，确保程序不退出
while True:
    keyboard_input=main()
    if keyboard_input=="1":
        query(True)
        continue#通过continue继续下一次循环，一进来就是回到了主菜单
    elif keyboard_input=="2":
        num=int(input("您想存多少钱，请输入"))
        save(num)
        continue
    elif keyboard_input=="3":
        num=int(input("您想qu多少钱，请输入"))
        take(num)
        continue
    else :
        print("chengxutuichule")
        break#程序退出了